home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / ctype.h < prev    next >
C/C++ Source or Header  |  1990-11-06  |  2KB  |  91 lines

  1. /*
  2.  * ctype.h --
  3.  *
  4.  *    Declarations of BSD library procedures for classifying characters
  5.  *    into a number of different types.
  6.  *
  7.  * Copyright 1988 Regents of the University of California
  8.  * Permission to use, copy, modify, and distribute this
  9.  * software and its documentation for any purpose and without
  10.  * fee is hereby granted, provided that the above copyright
  11.  * notice appear in all copies.  The University of California
  12.  * makes no representations about the suitability of this
  13.  * software for any purpose.  It is provided "as is" without
  14.  * express or implied warranty.
  15.  *
  16.  * $Header: /sprite/src/lib/include/RCS/ctype.h,v 1.3 90/11/06 17:18:20 rab Exp $ SPRITE (Berkeley)
  17.  */
  18.  
  19. #ifndef _CTYPE
  20. #define _CTYPE
  21.  
  22. #include <cfuncproto.h>
  23.  
  24. #ifndef EOF
  25. #define EOF (-1)
  26. #endif
  27.  
  28. _EXTERN int    isalnum _ARGS_ ((int c));
  29. _EXTERN int    isalpha _ARGS_ ((int c));
  30. _EXTERN int    isascii _ARGS_ ((int c));
  31. _EXTERN int    iscntrl _ARGS_ ((int c));
  32. _EXTERN int    isdigit _ARGS_ ((int c));
  33. _EXTERN int    isgraph _ARGS_ ((int c));
  34. _EXTERN int    islower _ARGS_ ((int c));
  35. _EXTERN int    isprint _ARGS_ ((int c));
  36. _EXTERN int    ispunct _ARGS_ ((int c));
  37. _EXTERN int    isspace _ARGS_ ((int c));
  38. _EXTERN int    isupper _ARGS_ ((int c));
  39. _EXTERN int    isxdigit _ARGS_ ((int c));
  40. _EXTERN int    tolower _ARGS_ ((int c));
  41. _EXTERN int    toupper _ARGS_ ((int c));
  42.  
  43.  
  44. #define isalnum(char) \
  45.     ((_ctype_bits+1)[char] & (CTYPE_UPPER|CTYPE_LOWER|CTYPE_DIGIT))
  46.  
  47. #define isalpha(char) \
  48.     ((_ctype_bits+1)[char] & (CTYPE_UPPER|CTYPE_LOWER))
  49.  
  50. #define iscntrl(char) \
  51.     ((_ctype_bits+1)[char] & CTYPE_CONTROL)
  52.  
  53. #define isdigit(char) \
  54.     ((_ctype_bits+1)[char] & CTYPE_DIGIT)
  55.  
  56. #define isgraph(char) \
  57.     ((_ctype_bits+1)[char] & (CTYPE_UPPER|CTYPE_LOWER|CTYPE_DIGIT|CTYPE_PUNCT))
  58.  
  59. #define islower(char) \
  60.     ((_ctype_bits+1)[char] & CTYPE_LOWER)
  61.  
  62. #define isprint(char) \
  63.     ((_ctype_bits+1)[char] & CTYPE_PRINT)
  64.  
  65. #define ispunct(char) \
  66.     ((_ctype_bits+1)[char] & CTYPE_PUNCT)
  67.  
  68. #define isspace(char) \
  69.     ((_ctype_bits+1)[char] & CTYPE_SPACE)
  70.  
  71. #define isupper(char) \
  72.     ((_ctype_bits+1)[char] & CTYPE_UPPER)
  73.  
  74. #define isxdigit(char) \
  75.     ((_ctype_bits+1)[char] & (CTYPE_DIGIT|CTYPE_HEX_DIGIT))
  76.  
  77. #define isascii(i) \
  78.     ((i & ~0x7f) == 0)
  79.  
  80. #define CTYPE_UPPER    0x01
  81. #define CTYPE_LOWER    0x02
  82. #define CTYPE_DIGIT    0x04
  83. #define CTYPE_SPACE    0x08
  84. #define CTYPE_PUNCT    0x10
  85. #define CTYPE_PRINT    0x20
  86. #define CTYPE_CONTROL    0x40
  87. #define CTYPE_HEX_DIGIT    0x80
  88.  
  89. extern char _ctype_bits[];
  90. #endif /* _CTYPE */
  91.